﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using QLBH.DataModel;

namespace QLBH.Model.Controller
{
    public class LyDoController : QLBHEntityBase<LYDO>
    {
        public static QLBHEntityBase<LYDO> GetInstance()
        {
            return new LyDoController();
        } 
        public override LYDO Add(LYDO entity)
        {
            if (FindBy(it => it.CODE == entity.CODE).FirstOrDefault() != null)
            {
                throw new Exception("Mã lý do đã tồn tại!");
            }
            if (FindBy(it => it.TEN == entity.TEN).FirstOrDefault() != null)
            {
                throw new Exception("lý do đã tồn tại!");
            } 
            return base.Add(entity);
        }
        public override LYDO Edit(LYDO entity)
        {
            if (FindBy(it => it.CODE == entity.CODE && it.ID!=entity.ID).FirstOrDefault() != null)
            {
                throw new Exception("Mã lý do đã tồn tại!");
            }
            if (FindBy(it => it.TEN == entity.TEN && it.ID != entity.ID).FirstOrDefault() != null)
            {
                throw new Exception("lý do đã tồn tại!");
            } 
            return base.Edit(entity);
        }
    }
}
